package com.emeraldparser.parse;

import java.util.Collection;

import java.util.List;

import com.emeraldparser.symbol.Symbol;
import com.emeraldparser.symbol.SymbolClass;

public interface Rule {

	public Collection<? extends State> getStartStates();

	public SymbolClass getLeftHandSide();

	public SymbolClass getRightHandSide();

	public List<? extends Symbol<?>> reduce(List<? extends Symbol<?>> rightHandSymbols);

}
